home *** CD-ROM | disk | FTP | other *** search
/ Hyper Animation Series: Viper (Limited Edition) / Hyper Animation Series: VIPER (Limited Edition).iso / pc / SYSTEM / class / BOSS1BodyAttack1.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-04  |  3.5 KB  |  110 lines

  1. class BOSS1BodyAttack1 extends EnemyAction {
  2.    private int fxTime = 0;
  3.    private boolean[] fShot = new boolean[16];
  4.    private int fxShot = 0;
  5.  
  6.    public BOSS1BodyAttack1(StgFrame var1) {
  7.       super(var1);
  8.    }
  9.  
  10.    public boolean action(EnemyIndex var1) {
  11.       int var2 = super.resource.getEnemySpeed();
  12.       super.resource.getEnemy();
  13.       BOSS1Index var3 = (BOSS1Index)var1;
  14.       BOSS1Index var4 = var3.getLegIndex();
  15.       BOSS1Index var5 = var3.getDefectIndex();
  16.       int var6 = var3.getMove();
  17.       int var7 = var3.getCMove();
  18.       ((StgObjectIndex)var3).movePosition(var6, 0, 0);
  19.       ((StgObjectIndex)var4).movePosition(var6, 0, 0);
  20.       ((StgObjectIndex)var5).movePosition(var6, 0, 0);
  21.       switch (var7) {
  22.          case -2097152:
  23.             var6 = -var6;
  24.             break;
  25.          case -1048576:
  26.             if ((Fixed.Random() & 'ΦÇÇ') != 0) {
  27.                var6 = -var6;
  28.             }
  29.             break;
  30.          case 0:
  31.             if ((Fixed.Random() & 'ΦÇÇ') != 0) {
  32.                var6 = -var6;
  33.             }
  34.             break;
  35.          case 1048576:
  36.             if ((Fixed.Random() & 'ΦÇÇ') != 0) {
  37.                var6 = -var6;
  38.             }
  39.             break;
  40.          case 2097152:
  41.             var6 = -var6;
  42.       }
  43.  
  44.       var7 += var6;
  45.       var3.setMove(var6);
  46.       var3.setCMove(var7);
  47.       if (this.fxTime >= this.fxShot) {
  48.          this.putShot(var1);
  49.          this.fxShot += 524288;
  50.       }
  51.  
  52.       if (this.fxTime >= 8388608) {
  53.          var1.setEnemyAction(new BOSS1BodyNomal(super.resource));
  54.       }
  55.  
  56.       this.fxTime += var2;
  57.       this.destroy(var1);
  58.       return true;
  59.    }
  60.  
  61.    private boolean putShot(EnemyIndex var1) {
  62.       Enemy var2 = super.resource.getEnemy();
  63.       Position var3 = ((StgObjectIndex)var1).getPosition();
  64.       int var5 = var3.getX() - 1048576;
  65.       int var6 = var3.getY() - 2097152;
  66.       short var7 = (short)('ΦáÇ' + (Fixed.Random() >> 3));
  67.       int var10 = 327680 + (Fixed.Random() << 2);
  68.       int var11 = 16384 + (Fixed.Random() >> 1);
  69.       int var8 = Fixed.Sin(var7);
  70.       int var9 = Fixed.Cos(var7);
  71.       var8 = Fixed.Mul(var8, var10);
  72.       var9 = Fixed.Mul(var9, var10);
  73.       ES10Index var4 = new ES10Index(new Position(var5, var6, 0), StgData.getSpriteAnimeEZ09Nomal(), new Position(524288, 524288, 0), 0, new ES10Nomal(super.resource), 0, 65536, 100, 1, var9, var11, var8);
  74.       return ((StgObject)var2).add(var4);
  75.    }
  76.  
  77.    public boolean checkHitPlayerShip(EnemyIndex var1, PlayerShipIndex var2) {
  78.       super.resource.getEnemy();
  79.       return ((StgObjectIndex)var1).checkHit(var2);
  80.    }
  81.  
  82.    public boolean checkHitPlayerShot(EnemyIndex var1, PlayerShotIndex var2) {
  83.       boolean var3 = false;
  84.       super.resource.getEnemy();
  85.       if (((StgObjectIndex)var1).checkHit(var2)) {
  86.          var3 = true;
  87.       }
  88.  
  89.       return var3;
  90.    }
  91.  
  92.    public boolean checkHitBom(EnemyIndex var1) {
  93.       return false;
  94.    }
  95.  
  96.    private boolean destroy(EnemyIndex var1) {
  97.       Enemy var2 = super.resource.getEnemy();
  98.       ((StgObjectIndex)var1).getSpriteAnimeIndex();
  99.       boolean var3 = false;
  100.       Status var4 = super.resource.getStatus();
  101.       if (var1.getHitPoint() == 0) {
  102.          var4.add(var1.getScore());
  103.          ((StgObject)var2).delete(var1);
  104.          var3 = true;
  105.       }
  106.  
  107.       return var3;
  108.    }
  109. }
  110.